perm filename REPORT[F84,JMC]1 blob
sn#780110 filedate 1984-12-23 generic text, type C, neo UTF8
COMMENT ā VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 report[f84,jmc] To DARPA about recent work
C00009 ENDMK
Cā;
report[f84,jmc] To DARPA about recent work
McCarthy's main work has been continuing research on non-monotonic
reasoning and its application to artificial intelligence.
(McCarthy 1980) describes the original work resulting in the circumscription
method of non-monotonic reasoning, and (McCarthy 1984) gives
an improved method and applies it to formalizing common sense knowledge.
While the details are in these documents here is a summary.
An intelligent system, e.g. and intelligent robot, must somehow
express what it knows about the world --- about the relation between
the appearances it senses and the actual state of its environment,
about how the effects of actions and events depend on the situation
in which they occur, and about its own knowledge or lack thereof and
the location of knowledge in other intelligences as well as in documents
and computer files. There are four used and proposed vehicles for expressing
this knowledge --- natural language, procedures, ad hoc data structures
whose meaning resides in how they are interpreted by program, and
the languages of mathematical logic.
While many have advocated it
from time to time, natural language has not been used as a vehicle
for expressing general knowledge. Partly this because much basic
human knowledge about the effects of physical actions and how
to interpret observations is not expressed linguistically, i.e.
people can't tell you how they do it, and no-one has ever tried
to write it down. Besides this, however, rules of inference
for natural language have never been formulated and may not
even exist.
Most AI program combine building knowledge into program,
i.e. expressing it procedurally, and representing it in ad hoc
data structures that are used by the programs. This works, but
has always to led to systems of limited capability that have
to be rewritten when major expansions are wanted. Knowledge
expressed as procedures is not easily obtained by a program for
itself. This knowledge is almost always built in by the programmer.
When systems of this kind are generalized, they become more and
more like logic based systems.
Mixed systems are increasingly common. One kind of mixture
interprets logical expressions procedurally as in Prolog. Another
kind represents information by logical expressions but gets new
expressions from old ones by ad hoc procedures rather than by
logical deduction. Both of these methods achieve solve particular
problems at the cost of specialization.
Using logic directly was proposed in (McCarthy 1960), but
perhaps the idea can be considered to go back to Leibniz. He
proposed that there be a logical language and that argument
be replaced by calculation in human affairs. He was unsuccessful
in devising a logical language, not even getting as far as propositional
calculus which had to wait for George Boole, 150 years later. We
skip the further history of logic, although it is interesting and even important
for understanding where we are today.
(McCarthy 1960) proposed a program that would use common
sense knowledge expressed in mathematical logic sentences to decide
what actions would achieve the system's goals. Many attempts have
been made by different people to carry out this plan, but they have
up to now been forced to compromise generality in order to get
programs that solve particular classes of problems.
Formalized non-monotonic reasoning was first proposed in
the late 1970s in several forms by several people including McCarthy.
Logic is monotonic in the sense that a conclusion drawn from
a collection of premisses will still follow when the set of
premisses is extended by adding more sentences. Humans often
draw conclusions that must be taken back when more facts are
obtained. While this has been recognized for a long time, it wasn't
realized that such non-monotonic reasoning could benefit from
mathematical logical formalization or even that such formalization
was possible. Formalization makes it possible for computers to
use non-monotonic reasoning and for AI researchers to design
systems that do it in a systematic way.
(McCarthy 1984) applies a new version of the circumscription
method to handling inheritance hierarchies with exceptions and
to solving the frame problem that afflicts planning systems.
Vladimir Lifschitz has